package com.cv.platform.service.report;

import com.cv.framework.common.pojo.PageResult;
import com.cv.platform.controller.audit.report.vo.AuditReportPageReqVO;
import com.cv.platform.controller.audit.report.vo.AuditReportRespVO;
import com.cv.platform.controller.platform.report.vo.CvReportSaveReqVO;

/**
 * 举报业务层接口
 *
 * @author Charles_XDXD
 */
public interface CvReportService {

    /**
     * 保存举报数据
     *
     * @param reqVO 举报保存请求参数
     * @return 举报编号
     */
    Long saveReport(CvReportSaveReqVO reqVO);

    /**
     * 分页查询举报数据
     *
     * @param reqVO 分页查询参数
     * @return 举报分页数据
     */
    PageResult<AuditReportRespVO> getReportPage(AuditReportPageReqVO reqVO);

    /**
     * 删除举报数据
     * 
     * @param childrenId 关联编号
     */
    void deleteAllReport(Long childrenId);

    /**
     * 根据用户编号删除举报数据
     * 
     * @param userId 用户编号
     */
    void deleteAllReportByUserId(Long userId);

}
